Method of mechanically translating written text to Braille on computer programmed machine using motion haptic stimulation technology

ABSTRACT

The present invention is directed to a haptic system of rotating cylindrical shafts topped with caps to create a virtual sensation of Braille text by integrating a microprocessor with microdrive motors. The micro drive&#39;s shafts are crowned with plastic cylindrical caps, the top face of which are precisely flush or level with the device&#39;s display surface thereby emulating the standard diameter and feel of a Braille dot or Braille space in two dimensions. It is the rotation of the drive&#39;s shaft that spins the caps and simulates the sensation of a Braille dot that is felt with the fingertips. This sensation of a two dimensional rotating dot is the result of the top face of the capped shafts positioned flush with the device&#39;s display surface. Motors that alternate between rotating shafts and shafts at rest produce Braille cell dots and spaces, respectively.

FIELD

The field generally relates to Braille systems and devices for blind andvisually impaired individuals, and more particularly to electronicreader tablets for displaying Braille content.

BACKGROUND

The present invention is directed to a haptic system of rotatingcylindrical shafts topped with round caps to create a virtual sensationof Braille text by integrating a microprocessor (also referred to hereinas microcomputer or processing unit or microprocessing unit) with motors(also referred to herein as micro motors, micro drives, or drives).Specifically, the present invention is directed to a system wherebycoded text data is inputted to a microprocessor that regulates orotherwise instructs mechanical micro drives. The micro drive's shaftsare, in aspects, crowned with plastic cylindrical caps the diameter ofwhich is 1.44 mm, the standard diameter of conventional paper embossedBraille. The top face of the caps is disk-shaped and are positionedprecisely flush or level with the device's display surface (alsoreferred to herein as an output user interface), thereby emulating thestandard diameter and feel of a Braille dot or Braille space in twodimensions. The Braille dots of the present invention are represented asflat discs. Unlike conventional embossed paper Braille or the currentdesigns of refreshable Braille readers, the Braille dot's dimension forheight is absent in the present invention. It is, in aspects, therotation of the drive's shaft that spins the caps and simulates thesensation of a Braille dot that is felt with the fingertips. Thissensation of a two dimensional rotating dot is the result of the topface of the capped shafts positioned flush or level with the device'sdisplay surface. A drive shaft/cap that is not spinning is at-rest andperceived as a Braille space. The spinning or at-rest caps, six to acell, translate the coded text files into Braille text that can be readon an output user interface. In one embodiment, six caps are aligned ina two column-three row configuration to resemble a conventional Braillecell. The currently claimed Braille e-reader can display up to 1000Braille cells or characters (e.g., such as letters, numbers,punctuations, symbols, indicators), or more or less, and isrefreshable—that is, it advances the text to the next page(s) of Brailleor returns to the previous page(s) on demand by, for example, toggling anavigation button on the device or using a voice command.

The present invention is expected to provide services and features tothe blind and visually impaired that are currently available to users ofNooks and Kindle, by way of example. The advantages of Braille textdisplays (also referred to herein as a e-readers or reader tablets) overaudio books for the visually impaired are significant. Braille textprovides a user with a “physical” reading experience, an advantagebecause the individual can re-read and search surrounding words forcontextual clues. When reading, a reader progresses at his own pace, andhe decides on the pronunciation of character and place names. It is anactive, not a passive experience. On the other hand, when listening toaudio books, the narrator sets the pace and decides on pronunciations,and the listener hears the characters in the narrator's voice only. Whenthe visually impaired read Braille, the scenes and characters of thenarrative are more vibrant than listening to storytelling because thereader more fully engages their imagination to create the story. ReadingBraille specifically stimulates both the visual and tactile cortex. Whenscientists taught sighted people to read Braille, a complex tactiletask, they found that the activity activated the visual cortex as wellas the tactile one. Most importantly, Braille books give the blind agreater opportunity for meditation and thinking while they read.

Currently, the price of Braille e-readers range from $3,500 to $15,000,depending on the number of characters displayed and the functionality ofthe device. This is a prohibitively expensive price structure for thevisually impaired consumer group that largely is unemployed and isdependent on financial aid. Current technology used to build refreshableBraille displays is still dependent on the old model of creating a threedimensional haptic sensation for the user by employing electronic orpneumatic methods to raise and lower small plastic pins on a gridmatrix, forming Braille characters. The method proposed herein is twodimensional, less complex in design, and more affordable. A fullyoperating device based on this technology is expected to cost as much asa medium priced smart phone. While refreshable Braille displays arealready available, the current technologies are limited to the amount oftext they can display, typically a single line of text. The currentdevice will allow users to read entire pages of text. The bulkiness ofbound paper Braille books, which often consist of several volumes toconvert a single book of conventional typeface, makes it a challenge tocarry them. This is especially a problem for educational textbooks whenconventional text is translated to Braille. Buying published Braille“books” often takes many months to complete the transaction.

The invention described herein provides for refreshable Braille displayspossible of being programmed and manufactured more efficiently and formuch less money than currently available Braille e-readers, allowing forsuch technology to be more vastly disseminated to the visually-impairedcommunity. Most refreshable Braille displays use piezoelectric actuationmechanisms to move the pins that generate dot displays denoting eachcharacter. The piezoelectric actuation mechanism cells requirecontinuously applied voltage to move the pins up and down. Themicrodrives in the proposed device on draw voltage when they areturning.

DESCRIPTION OF RELATED ART

The following prior art references are incorporated herein by reference.

U.S. Publication No. 2011/0111375:

-   Patented device 0111375 is a “single-unit portable Braille device    according to claim 1, . . . each Braille cell including a plurality    of electromechanically controlled pins, each pin being selectively    raiseable and lowerable in response to electrical commands    originating from the processing unit.” User detects Braille    characters through sensation of a three dimensional pin. The    invention described in this application is directed to a system that    regulates or otherwise instructs mechanical micro drives. The micro    drive's shafts are, in aspects, crowned with 1.44 mm plastic    cylindrical caps, the top face of which are precisely flush or level    with the device's display surface (also referred to herein as an    output user interface), thereby emulating the standard diameter and    feel of a Braille dot or Braille space in two dimensions. It is, in    aspects, the rotation of the drive's shaft that spins the caps and    simulates the sensation of a Braille dot that is felt with the    fingertips. This sensation of a two dimensional writing disc is the    result of the top face of the capped shafts positioned flush or    level with the device's display surface. A drive shaft/cap that is    not spinning is at-rest and perceived as a Braille space.

U.S. Publication No. 2012/0050172:

-   Abstract for 0050172 states invention is “a system and method for a    touch display system. The a touch display system includes: a flat    touch display assembly including a matrix of flat Braille pixels,    wherein each flat Braille pixel is operable to be placed in one of    two states. A heating source is selectively connected to each flat    Braille pixel. A cooling source selectively connected to each flat    Braille pixel. The flat Braille pixels are configured to represent    images to touch by selective heating and cooling thereof.” The    invention described in this application is directed to a system that    regulates or otherwise instructs mechanical micro drives. The micro    drive's shafts are, in aspects, crowned with 1.44 mm plastic    cylindrical caps, the top face of which are precisely flush or level    with the device's display surface (also referred to herein as an    output user interface), thereby emulating the standard diameter and    feel of a Braille dot or Braille space in two dimensions. It is, in    aspects, the rotation of the drive's shaft that spins the caps and    simulates the sensation of a Braille dot that is felt with the    fingertips. This sensation of a two dimensional rotating disc is the    result of the top face of the capped shafts positioned flush with    the device's display surface. A drive shaft/cap that is not spinning    is at-rest and perceived as a Braille space.

U.S. Publication No. 2015/0262509

-   Claim 11 for 0262509 states “11. The single-unit portable Braille    device according to claim 1, wherein the refreshable Braille display    comprises a linear array of one or more rows of adjacent Braille    cells, each Braille cell including a plurality of    electromechanically controlled pins, each pin being selectively    raiseable and lowerable in response to electrical commands    originating from the processing unit.”

The invention described in this application is directed to a system thatregulates or otherwise instructs mechanical micro drives. The microdrive's shafts are, in aspects, crowned with 1.44 mm plastic cylindricalcaps, the top face of which are precisely flush or level with thedevice's display surface (also referred to herein as an output userinterface), thereby emulating the standard diameter and feel of aBraille dot or Braille space in two dimensions. It is, in aspects, therotation of the drive's shaft that spins the caps and simulates thesensation of a Braille dot that is felt with the fingertips. Thissensation of a two dimensional rotating disc is the result of the topface of the capped shafts positioned flush or level with the device'sdisplay surface. A drive shaft/cap that is not spinning is at-rest andperceived as a Braille space.

U.S. Pat. No. 7,432,912

-   Abstract for U.S. Pat. No. 7,432,912 states the adaptation of a    regular pocket size computer for use by a visually impaired person    is provided . . . . The tactile keyboard includes a membrane having    raised keys on one side and corresponding screen activating tips on    the other. Conversely, the invention described in this application    comprises a tablet or tablet computer with a tactile interface    display and microprocessor that is approximately 11 inches wide and    11 inches tall, although the device may be smaller or larger.

U.S. Pat. No. 8,686,951

-   Claim for U.S. Pat. No. 8,686,951 describes an apparatus and method    for providing and configuring an elevated, indented, or texturized    display device is disclosed. Processes are also given involving    elevated, indented, or texturized portions of a display device. By    providing an elevated, indented, or texturized display device    enhanced input/output functions are provided. The invention    described in this application is directed to a system that regulates    or otherwise instructs mechanical micro drives. The micro drive's    shafts are, in aspects, crowned with 1.44 mm plastic cylindrical    caps, the top face of which are precisely flush or level with the    device's display surface (also referred to herein as an output user    interface), thereby emulating the standard diameter and feel of a    Braille dot or Braille space in two dimensions. It is, in aspects,    the rotation of the drive's shaft that spins the caps and simulates    the sensation of a Braille dot that is felt with the fingertips.    This sensation of a two dimensional rotating disc is the result of    the top face of the capped shafts positioned flush with the device's    display surface. A drive shaft/cap that is not spinning is at-rest    and perceived as a Braille space.

SUMMARY

Braille is the written language of visually impaired readers who cannotsee printed material. Readers of Braille are required to use their senseof touch by running a finger over a sequence of spaces and raised dots.A Braille character consists of six alternating spaces or nubsconfigured in a grid having three and two columns. By alternating theraised nubs with different combinations of the spaces within the cells,each alphanumeric character in English and other languages can becreated. Traditional Braille has been created by embossing paper witharrays or cells of spaces and nubs, each cell representing a differentalphabetical character or number.

Literacy—the ability to read and write—is vital to a successfuleducation, career, and quality of life in today's world. Althoughlearning to read and write in traditional ways may not be possible whenyou cannot see print on a page, there are many other paths to becomingliterate. Learning to read and write in Braille can make a dramaticdifference in the life of a visually impaired child or adult. Braille isan irreplaceable and modern method for literacy among the millions ofvisually impaired. Current refreshable Braille readers display only oneline of text and therefore are not conducive to reading. The presentinvention is directed to 40 lines of 25 cells or characters.

In one embodiment of the present invention, a method is provided whereinwritten text, such as in PDF format, is input into a device, for exampleusing a USB (Universal Serial Bus) port. The written text data is theninput into a microprocessor, whereby the microprocessor translates thetext into computer code, as explained in detail below. The resultingoutput data is sent to motors and the data informs the motors to createcertain Braille characters. The motors thereby activate driveshaftswhich are aligned in a Braille pattern or cell. The micro drive's shaftsare, in aspects, crowned with 1.44 mm plastic cylindrical caps, the topface of which are precisely flush or level with the device's displaysurface (also referred to herein as an output user interface), therebyemulating the standard diameter and feel of a Braille dot or Braillespace in two dimensions. The Braille matches or approximates the writtentext input into the device.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate certain aspects of some of theembodiments of the present invention, and should not be used to limit ordefine the invention. Together with the written description the drawingsserve to explain certain principles of the invention.

FIG. 1 is a perspective rendering of one possible embodiment of thedevice taught herein.

FIG. 2 is a section rendering of the elevation rendering in FIG. 3.

FIG. 3 is an elevation rendering of one possible embodiment of thedevice taught herein.

FIG. 4 is a perspective rendering of a motor assembly depicting themotor mount and three micro drive motors. Two assemblies are used toproduce a six motor—six Braille dot cell.

FIG. 5 is a perspective rendering of the micro drive motor.

FIG. 6 is a two dimensional rendering of the micro drive motor withmeasurements.

FIG. 7 is a rendering of a Braille cell with measurements.

FIG. 8 is a flowchart depicting the method described herein.

FIG. 9 is a flowchart depicting the method described herein.

FIG. 10 is an architecture diagram if the braille tablet software systemaccording to an embodiment of the invention described herein.

FIG. 11 is an example showing how the method determines which dots areactivated to represent a Braille character.

DETAILED DESCRIPTION

In the following description some elements may not be indicated on somefigures if they were already identified in preceding figures. It shouldalso be understood herein that the elements of the drawings are notnecessarily depicted to scale, since emphasis is placed upon clearlyillustrating the elements and structures of the present embodiments.

The present invention has been described with reference to particularembodiments having various features. It will be apparent to thoseskilled in the art that various modifications and variations can be madein the practice of the present invention without departing from thescope or spirit of the invention. One skilled in the art will recognizethat these features may be used singularly or in any combination basedon the requirements and specifications of a given application or design.

Before explaining at least one embodiment of the invention in detail, itis to be understood that the invention is not limited in its applicationto the details of construction and the arrangement of the components setforth in the following description or illustrated in the drawings. Theinvention is capable of other embodiments or of being practiced orcarried out in various ways. Also, it is to be understood that thephraseology and terminology employed herein is for the purpose ofdescription and should not be regarded as limiting.

Embodiments of the invention also include a computer readable mediumcomprising one or more computer files comprising a set ofcomputer-executable instructions for performing one or more of thecalculations, steps, processes and operations described and/or depictedherein. In exemplary embodiments, the files may be stored contiguouslyor non-contiguously on the computer-readable medium. Embodiments mayinclude a computer program product comprising the computer files, eitherin the form of the computer-readable medium comprising the computerfiles and, optionally, made available to a consumer through packaging,or alternatively made available to a consumer through electronicdistribution. As used in the context of this specification, a“computer-readable medium” is a non-transitory computer-readable mediumand includes any kind of computer memory such as floppy disks,conventional hard disks, CD-ROM, Flash ROM, non-volatile ROM,electrically erasable programmable read-only memory (EEPROM), and RAM.In exemplary embodiments, the computer readable medium has a set ofinstructions stored thereon which, when executed by a processor, causethe processor to perform tasks, based on data stored in the electronicdatabase or memory described herein. The processor may implement thisprocess through any of the procedures discussed in this disclosure orthrough any equivalent procedure.

In other embodiments of the invention, files comprising the set ofcomputer-executable instructions may be stored in computer-readablememory on a single computer or distributed across multiple computers. Askilled artisan will further appreciate, in light of this disclosure,how the invention can be implemented, in addition to software, usinghardware or firmware. As such, as used herein, the operations of theinvention can be implemented in a system comprising a combination ofsoftware, hardware, or firmware.

Embodiments of this disclosure include one or more computers or devicesloaded with a set of the computer-executable instructions describedherein. The computers or devices may be a general purpose computer, aspecial-purpose computer, or other programmable data processingapparatus to produce a particular machine, such that the one or morecomputers or devices are instructed and configured to carry out thecalculations, processes, steps, operations, algorithms, statisticalmethods, formulas, or computational routines of this disclosure. Thecomputer or device performing the specified calculations, processes,steps, operations, algorithms, statistical methods, formulas, orcomputational routines of this disclosure may comprise at least oneprocessing element such as a central processing unit (i.e. processor)and a form of computer-readable memory which may include random-accessmemory (RAM) or read-only memory (ROM). The computer-executableinstructions can be embedded in computer hardware or stored in thecomputer-readable memory such that the computer or device may bedirected to perform one or more of the calculations, steps, processesand operations depicted and/or described herein.

Additional embodiments of this disclosure comprise a computer system forcarrying out the computer-implemented method of this disclosure. Thecomputer system may comprise a processor for executing thecomputer-executable instructions, one or more electronic databasescontaining the data or information described herein, an input/outputinterface or user interface, and a set of instructions (e.g. software)for carrying out the method. The computer system can include astand-alone computer, such as a desktop computer, a portable computer,such as a tablet, laptop, PDA, or smartphone, or a set of computersconnected through a network including a client-server configuration andone or more database servers. The network may use any suitable networkprotocol, including IP, UDP, or ICMP, and may be any suitable wired orwireless network including any local area network, wide area network,Internet network, telecommunications network, Wi-Fi enabled network, orBluetooth enabled network. In one embodiment, the computer systemcomprises a central computer connected to the internet that has thecomputer-executable instructions stored in memory that is operablyconnected to an internal electronic database. The central computer mayperform the computer-implemented method based on input and commandsreceived from remote computers through the internet. The centralcomputer may effectively serve as a server and the remote computers mayserve as client computers such that the server-client relationship isestablished, and the client computers issue queries or receive outputfrom the server over a network.

The input/output interfaces may be used in conjunction with thecomputer-executable code and electronic databases. The user interfacemay allow a user to perform these tasks through the use of Brailleequivalents of text fields, check boxes, pull-downs, command buttons,and the like. A skilled artisan will appreciate how such features may beimplemented for performing the tasks of this disclosure. The userinterface may optionally be accessible through a computer connected tothe internet. In one embodiment, the user interface is accessible bytyping in an internet address through an industry standard web browserand logging into a web page. The user interface may then be operatedthrough a remote computer (client computer) accessing the web page andtransmitting queries or receiving output from a server through a networkconnection.

The invention described herein provides for refreshable Braille displayspossible of being programmed and manufactured more efficiently and lessexpensively than currently available Braille e-readers, allowing forsuch technology to be more vastly disseminated to the visually-impairedcommunity. Most refreshable Braille displays use piezoelectric actuationmechanisms to move the pins that generate dot displays denoting eachcharacter. The piezoelectric actuation mechanism cells requirecontinuously applied voltage to move the pins up and down. Themicrodrives in the proposed device when purchased in sufficientquantities cost less than one U.S. dollar per unit and draw voltage onlywhen their shafts are spinning.

FIG. 1 is a rendering of the device comprising a tablet or tabletcomputer with a tactile interface display and microprocessor that isenclosed in a light-weight casing approximately 11 inches wide and 11inches tall, although the device may be smaller or larger. FIG. 2 is asection view displaying the casing 1 and the micro drive motor mountassembly 2. In FIG. 1, the device also comprises a means of inputtingdata A, such as by wired or wireless communication or an informationport (e.g., a USB port or Bluetooth). It is approximately 1.5 inchesthick but in some cases may be thinner or thicker. In FIG. 3, the tabletdisplay may conform to the standard. Braille cell configuration and cellarray per page 4. In FIG. 3, each line may be 25 cells in length, with40 lines per page, a total of 1000 cells. All lines may be counted fromthe top of the page, regardless of whether or not they contain Braille.The device may allow for more or less cells or characters. In additionto the 1000 cells of Braille, the device may comprise a speaker and amicrophone for a built-in “intelligent assistant” that enables users tospeak voice commands to operate the Braille device and its computersoftware applications (e.g., voice recognition software). In otheraspects, the device may comprise internal or external batteries or powersources, sensors, cameras, memory, processors, means of communication,such as an antenna and wireless communication capabilities (e.g.,Bluetooth and Wi-Fi). In FIG. 3, device has two page turning controls toadvance or return a page 3.

In FIG. 4, a preferred embodiment, the Braille characters are created byshafts topped by 1.44 mm plastic caps 4 that are attached to microdrives. These caps may be made of other material in addition to plastic,and may be longer or shorter but will adhere to the standard diameter ofBraille dots. Micro drive motors assemblies consist of mounts 6 and 3individual motors 5. Two assemblies produce a conventional six dotBraille cell for the device.

In FIG. 4, when the device is turned on and translating written text toBraille, each micro drive 5 causes the cap to spin, or rotate. It is auser's cumulative experience of touching the spinning caps flush orlevel with the interface, which correspond to the Braille dots. When thecaps are at rest, the users senses a space in the Braille cell. Dots andspaces combine to create the perception of a Braille alphanumericcharacter. By alternating spinning caps and caps at rest, the user will“read” the virtual, two-dimensional dots as a Braille character.

In certain aspects, the display will use sensors to detect when thedevice is in use. “In use” is defined as whenever the device is poweredup and/or the user is reading Braille text on the tablet display (e.g.,the user's hand or fingers are in contact with the display). When thedevice is “in use” mode the micro drives can be powered up. Whenever theuser removes their hands from the display, the device will sense thisand power down to save battery life.

The device, in embodiments, will have the capacity to store multiplebooks (or other documents) converted to PDF files, for example. Each PDFfile will have metadata associated with it that identifies the title,author, publishing date, publisher, and summary using the voice of theintelligent assistant. The intelligent assistant, in aspects, will havethe ability to search various online sources to acquire PDF versions ofa library of classic and contemporary books, as well as magazines,newspapers, and scholarly journals.

Development of a Low Fidelity Prototype to Test Two Dimensional BrailleConcept

Before submitting the patent application, the inventors built a lowfidelity model of the device to prototype and test the concept of a twodimensional rotating disc serving as a Braille dot instead of theconventional three dimensional raised pin. A simple five Braille celldevice was fabricated with 3D printing technology and “off-the-shelf”technology including microprocessors and microdrive motors. The intentwas to have a blind subject use the prototype to determine if he or shecould identify alphanumeric characters using the prototype's rotatingmicrodrive shafts aligned in the standard two-dot column by three-dotrow creating a conventional six dot cell. The subject was not told inadvance what alphanumeric characters were to be displayed. The subjectwas a blind 28 year old employed by a state agency for the blind andvisually impaired who taught Braille. The subject was able to promptlyidentify each character correctly in all attempts.

Computer-Implemented Method for Translating Written Text to BrailleCharacters

In one embodiment, a portable document format file is submitted to themicroprocessor through an input in the device or via wirelesscommunication (e.g., Bluetooth or Wi-Fi) or wired communication. Themicroprocessor converts the data with the file to Java bytecode, forexample, although the invention is not limited to such computer enabledlanguage. The bytecode is converted into plain text format that can beinterpreted by the Java applet. The text is converted intotwo-dimensional Boolean arrays representative of Braille cells. TheBraille cells format is outputted to actuators for the user to interpretby a tactile display on the device taught herein.

While the invention is not limited to Java programs, it is noted thatmost Java programs are not a single class. Rather, they are a collectionof classes, interfaces, and their sub-components, e.g., objects andmethods, and how they connect to form the larger program. In the case ofa preferred embodiment of the device described herein, the program isgoverned by a collection of 9 classes, as well as an interface thatcontains methods for the I/O (input/output) related classes, althoughmore or less classes are envisioned.

The PDFIn class, which converts text from, for example, a PDF format, toa format read by Java, the invention works by exploiting the basicformat of a PDF document. In the Portable Document Format, or PDF mannerof encoding, there exists a group of PDF objects. These objectsrepresent things like text bodies, images, tables, and specialformatting. By recognizing certain streams of commands that containspecific trigger strings of text at the beginning and end, the inventionspecifically finds and interprets text streams. For example, theinvention deciphers key information by looking at, by way of example,the following text stream:

-   -   BT    -   /F13 12 Tf    -   288 720 Td (ABC) Tj ET

In this aspect, the relevant information starts with BT and ends withET, for “begin text” and “end text”, respectively. There is also Tf fortext font and Td for text draw (the location of the text), but, in thisexample, particularly important information precedes Tj. These commandscan also be capitalized, i.e., E.G. or TJ, albeit such a format is usedless frequently. This particular information is the actual text thatwill be translated to Braille.

In this case, if the program searches and recognizes just before (orpotentially after) Tj, then, according to the invention, it finds thetext that needs to be translated into something that Java could readcorrectly. In one example, when a PDF uses WIN encoding (WindowsEncoding), then it will appear as ASCII (American Standard Code forInformation Interchange). PDF files write the text within thoseparentheses as binary index values and there are multiple encodingformats. In order for it to be converted to a format that Java can read,first the invention decrypts those values. According to the currentmethod, PDFIn class parses through the index of binary values, pullingthem as a binary stream and converting them to a hexadecimal format. Byconverting them to a hexadecimal format, they can now be processed asJava bytecode. Java bytecode is what the microprocessors, in one aspectof the current invention, reads when processing Java, and commands thedevice what to do with the Java code. By creating a scanner and readingan input stream from a PDF input, the device checks through all thehexadecimal values and verifies that they are valid UTF-16 (16-bitUnicode Transformation Format) encoding characters. If not, they arediscarded. If they are valid UTF-16 characters, they are able to betranslated into something that is legible text or Braille characters.When it is determined which characters are valid UTF-16 characters, theyare converted from hexadecimal to Unicode 3.0, and then outputted asASCII, a subset of Unicode. That is in order to output them as text tothe next console. On the other hand, in order to manipulate them in aparticularly preferable manner, the PDFIn class leaves them in ahexadecimal format and eliminates the hexadecimal values that are notvalid UTF-16 characters. These hexadecimal values are something thatJava can read, and so then they are sent to the next class within theJava program.

In the preferred embodiment, the other major input class is the UserInclass, which takes user input from the device's hardware, and sends thatoff to govern the various systems, such as the act of controlling thespeed of the Braille disc motor by turning a potentiometer. This may beaccomplished based purely on the claimed hardware, but using softwareallows for finer control and monitoring over the speed.

The DataIO class, hereby referred to as the I/O class, takes informationfrom some classes and outputs it to others. It is in colloquial terms,the “central hub” or “brain” of the entire program. It takes input fromthe UserIn, PDFIn, and Word classes, and then outputs to both the Motorand translate classes depending on what input the DataIO class isreceiving. To Translate, the DataIO class sends off an array containingthe inputted hexadecimal values from the PDF that were processed byPDFIn. To Motor, the DataIO class sends the array of cell objects thatit receives from the Word class, as well as any input from the UserInclass.

For all three of the aforementioned I/O related programs there is the IOinterface. This interface lists commands that are held in common by allthree classes in order to make communication between them morestreamlined.

The Translate class takes the hexadecimal code, running a second checkto make sure that the characters are UTC-16 valid, before thenconverting them to ASCII and sorting them into two differenttwo-dimensional arrays, noting their character and position. Onetwo-dimensional array is filled with any character that would representa letter of the alphabet, both uppercase and lowercase. The other isfilled with spaces, numbers, and special characters.

Next, in the preferred embodiment, the Letter class takes all input andsorts it into two categories, uppercase and lowercase. The positions arealso noted and sorted into two more arrays. Afterwards, the class takesthe letters and compares them to a table of two-dimensional Booleanarrays that represent Braille cells. The class then outputs twotwo-dimensional arrays, containing objects that are representative ofthe two-dimensional Boolean arrays needed, as well as their positions;one for uppercase and one for lowercase.

There is the Number class. The Number class takes input and sorts itinto three categories: numbers, special characters, and spaces. Thepositions are also noted and sorted into three more arrays. After, theclass takes the characters and also compares them to a table oftwo-dimensional Boolean arrays that represent Braille cells. The classthen outputs three two-dimensional arrays, containing objects that arerepresentative of the two-dimensional Boolean arrays needed, as well astheir positions; one for numbers, one for spaces, and a third forspecial characters.

The Cell class takes the data from the Letter and Number classes, andthen sorts them into a single two-dimensional array based on theirpositions, so that they are back to their original order. Once thisoriginal order is achieved, the Cell class takes the two-dimensionalBoolean objects and converts them to cell objects, which are expressedin an easier format for the Word class to interpret as Braille cells.They are sent as a two-dimensional array to the Word class.

The Word class will then proceed to read all the values. When it reads,it will scan for sequences of characters that can be represented byBraille abbreviations, as well as inserting the different punctuationunique to Braille, e.g. characters that represent switching betweenletters and numbers, as well as uppercase letters. The cell objects willbe shifted in an array list (different than an array in that it isdynamic rather than static in size), and this will be outputted alongwith an integer displaying the size of the list, back to the Data IOclass, to send to the Motor class.

In one embodiment, the Motor class is responsible for handling theoperation of, in one aspect, the planetary gear motors, also referred toherein interchangeably or separable as motors, micro motors, drives,micro drives, gears, or micro gears. The motors are arranged in atwo-dimensional array, and when the Motor class receives data, itoutputs the cell values to the motors sequentially. In essence, itcontrols the motors and their speed, whether they are on or off, need tobe reset, or switched to a different value.

The system, while translating, is almost constantly working and all theclasses within the program are almost constantly communicating in orderto function. The system is able to dynamically function if the needarises, and with the simple push of a button, the motors and how theyfunction can change drastically. On the other hand, the main operationprogram is only an aspect of the software. It operates within amicroprocessor that uses different aspects to control the system.

In the preferred embodiment, the main Java program, hereby referred toas the program, will be running on a microcomputer running a Linux-baseddistribution such as Debian, due to it being considered user-friendlyand manageable when it comes to software modifications. Linuxdistributions also tend to be lightweight, meaning they are relativelyless taxing on the performance of the computer system. This means thatthe microprocessor will have more processing power to run the variousoperations and therefore have much faster response times. This will alsomean that the system will be more responsive to the user and preventdelays in the switching of the motors, which could potentially affectease of reading, should it occur. The Java program will be running andcommunicating to two other operations on the microprocessor. Themicroprocessor will also be connected to a microcontroller, which isperforming the physical/electrical handling of the motor operation.

In the preferred embodiment, the Java program is the software thatsupports the microcomputer's basic functions, such as executing commandsand controlling peripheral computer software applications. When aprogram runs, the microcomputer takes the bytecode and communicates itover a Bash script that is running through the console, that auto-runswhen the microcomputer is turned on. The program performs this functionby communicating to a separate Java program running a single class thatlaunches an executable shell script in order to communicate with theBash script. The Bash script communicates over Serial TTL(Transistor-Transistor Logic) to an Atmel based microcontroller, whichwould then perform the actual motor function. It would accomplish thisby directly communicating through the use of the echo command. This Bashscript would take all the on/off commands, the speed commands, and thepositions, and then pass that on through the serial connection themicrocontroller.

In the preferred embodiment, the microcomputer also manages a VNC(Virtual Network Computing) server within the device that allows forremote access, in the event software updates, techsupport/troubleshooting, or user modification becomes necessary. Thisfunctionality allows a user with a computer or other device capable ofremote desktop and an internet connection, to connect directly withinthe microcomputer and control it or update it from wherever the user islocated, even remotely.

The microcontroller also takes commands related to the motors andhandles the direct control necessary in order to operate the motors andhave them function. In regard to this task, the microcontroller performsa serial read over the serial connection. It would also be running a PID(Proportional-Integral-Derivative) control loop in order to have themotors function at a constant speed with very little error. This in turnwould allow the motors to have very little error between the speed thatthe computer registers their operation, as opposed to their true speed.

In the preferred embodiment, these programs will auto-run on the startupsequence of the microcomputer, and typical safeguards, known to those ofordinary skill in the art, will be in place to ensure that nobody isable to connect through VNC and close out of these programs. If thatwere to happen, it could prevent operation of the device until therestart. It is envisioned that administrator locks on the software wouldprevent editing any of the files without the proper passwords and extrapermissions necessary in order to allow editing access

In the preferred embodiment, the device comprises a folder and Bashscript responsible for pulling the PDF file necessary for the operationof the entire device. For example, when a USB connection is made to thedevice, the Bash script will run commands to automatically pull a PDFfile from the USB device and place it into the default folder, renamingit with a target name for the program to access, and overwriting the oldfile. Accordingly, the program always knows the name and location of thefile that it is supposed to read. In turn, the program will be able toread this file through the PDFIn class and start the overall processesneeded for the function of the motors.

When combined, the overall system and programs described herein work tocreate a tablet that can translate written text to Braille text. In apreferred embodiment, the tablet will accept PDF files and output themas Braille cells in the form of a tactile sensation through microdrives. On the inside, a microcomputer, microcontroller, and a circuitcontaining motors will perform the translation process, while on theoutside, the interface, in one example, simply comprises a casing, a fewcontrol buttons, and various ports for I/O function. The end result is ahighly functioning machine that helps to bring the vision-impaired intothe digital age and more easily engage with written material.

In other aspects, within the Braille tablet, there will be a camera onthe device. Running on the microcomputer will also be a small neuralnetwork that will be trained through machine learning to recognize whatis human and what is not. Through a series of weighted values, and trialand error through testing, the computer will be “taught” to turn on themotors when the power switch is on. The device will turn off when aperson is not using the device. This will allow the device to save onpower consumption when it is not in operation. When the device's powerswitch is in the off position, however, the device will remaincompletely powered down, for example.

FIG. 8 is a flowchart showing general steps comprising the methoddescribed herein. In particular, the first step is to input a portabledocument format type (e.g., PDF) through, for example, an input on thedevice, such as a USB port. Next, the microprocessor associated with thedevice converts the file data to Java bytecode. Next, the bytecode isconverted into a plain text format that can be interpreted by the Javaapplet. Next, the text is converted into two dimensional Boolean arraysrepresentative of Braille cells. Finally, the Braille cell's format isoutputted to actuators for the user to interpret.

FIG. 8 is flowchart showing a walk through the Java software processesof the invention described herein.

FIG. 9 is a diagram showing the electrical circuit for a single motor.

FIG. 10 is an architecture diagram of the braille tablet software systemaccording to an embodiment of the invention described herein.

FIG. 11 is an example of the analog between 2-dimensional Boolean arraysand Braille characters, in this particular example, the letter “n.”

EXAMPLE

After powering on the Braille tablet, the process begins when the userinserts a USB source into the device and turns the device on. When thishappens, the fetch script on the microcomputer grabs the most recent PDFfile (based on the time stamp), renames it to TARGET, and places it intoa folder bearing the same name, except in lowercase form instead. Oncethis occurs, the Java program starts the process of translating thetext, although Java would have been running as soon as the device ispowered on. The PDFIn class searches for a file named TARGET in thetarget folder, and as soon as the PDF is located it would access it.Next, the program searches through the ASCII portions of the text inorder to determine what type of encoding it uses to determine how todecode it. Afterwards, it would then search for key aspects of the rawhex code of the PDF and find the binary index representing the text. Inthe case of the classic programming “hello world!” if it was in ASCII85encoding, it would appear as:

-   -   <˜BOu!rD]j7BEbo80˜>

The PDFIn class would then convert it into a hexadecimal format, so thatit would be legible by the Java Runtime Environment, and it would thenproceed to appear as:

-   -   68656c6c6f20776f726c6421

Then, Java would check if this is a valid UTF-16 sequence, and then sendit off to the DataIO class. The DataIO class would then recognize thisas a hexadecimal value and sort it before sending it off to theTranslate class. The Translate class would then proceed to run a secondcheck on the hexadecimal value to make sure that it is a valid UTF-16value. Afterwards, it would be converted into a two-dimensional arraywith position values that would look something like this:

-   -   {h, e, l, l, o, w, o, r, l, d, !}    -   {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}

The two-dimensional array would then be split into two smallertwo-dimensional arrays, one for letters and one for everything else.After the sorting, it would appear as:

-   -   {h, e, l, l, o, w, o, r, l, d}    -   {0, 1, 2, 3, 4, 6, 7, 8, 9, 10}    -   and    -   {, !}    -   {5, 11}

The first of the arrays would be sent to the Letter class, while theother would be sent to the Number class. Once that happens, eachrespective class would take their arrays that they received and outputan array of cell objects with position values to the Cell class. For acharacter like the letter ‘h,’ the cell data might resemble Cell(true,false, true, true, false, false, 0). The Cell class would then take allof these objects and positions from both classes and use the positionvalues to put them back in order, so the previous object is followed by(true, false, false, true, false, false, 1) and so on and so forth. Thenthe Word class would search for any patterns, abbreviations, or specialpunctuation and insert it as needed in order to make the Brailleproperly formatted. After being sorted in an array list, these cellobjects would be sent to the DataIO class, which would then send it tothe Motor class. The Motor class would convert each cell object to aBoolean array, and then assign it to a series of 6 motors. So ‘h’ wouldbecome:

-   -   {true, false}    -   {true, true}    -   {false, false}

If true indicates the presence of a dot, and false marks the absence ofa dot, the Motor class sees an exact copy of the Braille cell, such asfor ‘h,’ which is

. The Motor class then sends commands for the specified set of motors toturn on in that formation, and so the command is sent off through anecho to the Bash script, which then passes it on to the microcontroller.The microcontroller then proceeds to turn the specified motors on, andthe motors in the aforementioned formation turn on at the speedspecified by the UserIn class, which traveled the same path as theBraille text, but skipping the large loop and going straight from DataIOto the Motor class. When this occurs, the user would be able to feel themotors functioning by rotating in this pattern:

-   -   

If an issue arose during this process, a user could connect via theircomputer using VNC and access the device through remote desktop,allowing them to fix any problems. Once everything is running, thedevice will remain on, but, in one aspect, will disable the operation ofany motors when a camera or sensor (running alongside its own neuralnetwork program, which has been taught to recognize the characteristicsof a human being) fails to validate the presence of a human user. Onceat this point, the user would be able to push buttons on the device akinto flipping pages in order to get to the next bit of text. The PDF wouldremain until someone places a new PDF onto the USB source and inserts itback into the device.

One skilled in the art will recognize that the disclosed features may beused singularly, in any combination, or omitted based on therequirements and specifications of a given application or design. Whenan embodiment refers to “comprising” certain features, it is to beunderstood the embodiments can alternatively “consist of” or “consistessentially of” any one or more of the features. Other embodiments ofthe invention will be apparent to those skilled in the art fromconsideration of the specification and practice of the invention.

It is noted in particular that where a range of values is provided inthis specification, each value between the upper and lower limits ofthat range is also specifically disclosed. The upper and lower limits ofthese smaller ranges may independently be included or excluded in therange as well. The singular forms “a,” “an,” and “the” include pluralreferents unless the context clearly dictates otherwise. It is intendedthat the specification and examples be considered as exemplary in natureand that variations that do not depart from the essence of the inventionfall within the scope of the invention. Further, all of the referencescited in this disclosure are each individually incorporated by referenceherein in their entireties and as such are intended to provide anefficient way of supplementing the enabling disclosure of this inventionas well as provide background detailing the level of ordinary skill inthe art.

The invention claimed is:
 1. A motorized device comprising: a computerprocessing unit; a plurality of motors or micro drives connected to aplurality of shafts, wherein each top of the plurality of shafts issubstantially flush with a display surface of the motorized device,wherein the plurality of motors or micro drives are capable of makingthe plurality of shafts spin and/or rotate, wherein each top of theplurality of spinning shafts is capable of providing a tactile patternon the display surface of the motorized device, wherein each top of theplurality of spinning shafts remains substantially flush with thedisplay surface of the motorized device when it is spinning, and whereinthe plurality of shafts are oriented perpendicular to the displaysurface.
 2. The motorized device of claim 1, wherein the plurality ofshafts are configured in a 2 column by 3 row configuration, wherein theconfiguration simulates the accepted standard sizes or dimensions ofBraille dots or Braille cells embossed on paper or another surface. 3.The motorized device of claim 2, wherein the Braille cells areconfigured in a 25 column by 40 row array, wherein the 25 column by 40row array produces a 1000 cell user interface.
 4. The motorized deviceof claim 1, wherein the display surface is capable of providing Braillefor one or more pages of conventionally displayed print or pixel text.5. A method of providing a Braille readable surface translated and/orconverted from text comprising: transferring a document file to amicrocomputer and/or processer from a universal serial bus or other typeof input device; having the microcomputer and/or processor convert datain the document file to Java bytecode; converting the Java bytecode intoa format that is capable of being interpreted by Java applet; convertingthe format into two-dimensional Boolean arrays representative of Braillecells format; outputting the Braille cells format to one or more motorsby turning on or turning off said motors; wherein the motors are capableof rotating attached or connected shafts, wherein tops of the attachedor connected shafts remain substantially flush with the Braille readablesurface when rotating, wherein the attached or connected shafts areperpendicular to the Braille readable surface, and wherein a user of theBraille readable surface tactilely senses the attached or connectedshafts that are rotating as a Braille dot.
 6. A motorized devicecomprising: a computer processing unit; a plurality of motors or microdrive shafts having cylindrical caps attached or connected to the topsof one or more of the plurality of shafts, wherein the tops of thecylindrical caps are substantially flush with a display surface of themotorized device, wherein the plurality of motors or micro drives arecapable of making the plurality of shafts rotate, wherein thecylindrical caps are capable of providing a tactile pattern on thedisplay surface of the motorized device, wherein the tops of thecylindrical caps remain substantially flush with the display surface ofthe motorized device while rotating, and wherein the plurality of shaftsare perpendicular to the display surface.
 7. The motorized device ofclaim 6, wherein the tops of the cylindrical caps have a diameter ofbetween 1 mm and 2 mm.
 8. The motorized device of claim 6, wherein thecylindrical caps are configured in a 2 column by 3 row configuration,wherein the configuration simulates the accepted standard sizes ordimensions of Braille dots or Braille cells embossed on paper or anothersurface.
 9. The motorized device of claim 8, wherein the Braille cellsare configured in a 25 column by 40 row array, wherein the 25 column by40 row array produces a 1000 cell user interface.
 10. The motorizeddevice of claim 6, wherein the display surface is capable of providingBraille for one or more pages of conventionally displayed print or pixeltext.